home *** CD-ROM | disk | FTP | other *** search
/ TeX 1995 July / TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO / biblio / bibtex / contrib / bibtex.cms-changes < prev    next >
Text File  |  1988-06-09  |  7KB  |  254 lines

  1. This is BIBTEX.CMS-CHANGES in text format, as of June 9, 1988.
  2.  
  3. BIBTEX change file for VM/CMS and MVS.
  4. Created by Nhut Nguyen, IBM Japan. Ltd., Tokyo, Japan. (1986).
  5.  
  6.  
  7. Mar 14, 1986               made it working
  8. Mar 14, 1986               changed filetype of the log file to BIBLOG
  9. Mar 14, 1986               eliminate the prompt for input file
  10. Jul 14, 1986               made the initialize routine shorter, to avoid
  11.                            overflow during compilation
  12. Jul 30, 1986 Alan Spragens broke up |x_format_name| procedure; changed
  13.                            extensions on aux and bbl files; cleaned up
  14.                            VM/CMS declarations and procedures at end
  15. Oct 29, 1986 Agnes Hsu     leave extensions on aux, bib, and bst as in
  16.                            Web; add '.*' extension before opening those
  17.                            files
  18. June 9, 1988 Dean Guenther Removed a few unecessary changes and did
  19.                            some others for version .99
  20.                            Note that all tabs (x'05') in BIBTEX.WEB
  21.                            were replaced by two blanks (x'4040').
  22.  
  23. @x banner line
  24. @d banner=='This is BibTeX, Version 0.99c' {printed when the program starts}
  25. @y
  26. @d banner=='This is BibTeX, VM/CMS Version 0.99c'
  27. @z
  28.  
  29. @x term
  30. @d term_out == tty
  31. @d term_in == tty
  32. @y
  33. @d term_in==tty_in
  34. @d term_out==tty_out
  35. @z
  36.  
  37. @x otherwise
  38. @d othercases == others:  {default for cases not listed explicitly}
  39. @y
  40. @d othercases == otherwise {default for cases not listed explicitly}
  41. @z
  42.  
  43. @x
  44. begin
  45. initialize;
  46. print_ln(banner);@/
  47. @y
  48. begin
  49.   termin(term_in); termout(term_out);
  50.   initialize;
  51.   print_ln(banner);@/
  52. @z
  53.  
  54. @x compiler directives
  55. @{@&$C-,A+,D-@}   {no range check, catch arithmetic overflow, no debug overhead}
  56. @!debug @{@&$C+,D+@}@+ gubed    {but turn everything on when debugging}
  57. @y
  58. {It seems impossible to turn CHECK and DEBUG on and off easily given
  59.  how Tangle and VS/PASCAL work}
  60. @z
  61.  
  62. @x
  63. @!ASCII_code=0..127;  {seven-bit numbers}
  64. @y
  65. @!ASCII_code=packed 0..127; {seven-bit numbers}
  66. @z
  67.  
  68. @x
  69. @d last_text_char=127  {ordinal number of the largest element of |text_char|}
  70. @y
  71. @d last_text_char=255 {ordinal number of the largest element of |text_char|}
  72. @d ccat==@=||@>
  73. @z
  74.  
  75. @x
  76. @!alpha_file=packed file of text_char;  {files that contain textual data}
  77. @y
  78. @!alpha_file=text; {files that contain textual data}
  79. @z
  80.  
  81. @x
  82. function erstat(var f:file):integer; extern;  {in the runtime library}
  83. @#@t\2@>
  84. @y
  85. @z
  86.  
  87. @x
  88. begin reset(f,name_of_file,'/O'); a_open_in:=reset_OK(f);
  89. @y
  90. begin okstatus; pack_file_name;
  91.   reset(f,'NAME='ccat trim(str(name_of_file)));
  92.   a_open_in:=status;
  93. @z
  94.  
  95. @x
  96. begin rewrite(f,name_of_file,'/O'); a_open_out:=rewrite_OK(f);
  97. @y
  98. begin okstatus; pack_file_name;
  99.   rewrite(f,'NAME='ccat trim(str(name_of_file)));
  100.   a_open_out:=status;
  101. @z
  102.  
  103.  
  104. @x
  105. function input_ln(var f:alpha_file) : boolean;
  106. @y
  107. @<VM/CMS stuff@>
  108. @#
  109. function input_ln(var f:alpha_file) : boolean;
  110. @z
  111.  
  112. @x
  113. while (p_ptr < str_start[file_name+1]) do
  114.     begin
  115.     name_of_file[name_ptr] := chr (str_pool[p_ptr]);
  116. @y
  117. while (p_ptr < str_start[file_name+1]) do
  118.     begin
  119.     name_of_file[name_ptr] := xchr[str_pool[p_ptr]];
  120. @z
  121.  
  122. @x
  123. while (p_ptr < str_start[ext+1]) do
  124.     begin
  125.     name_of_file[name_ptr] := chr (str_pool[p_ptr]);
  126.     incr(name_ptr); incr(p_ptr);
  127. @y
  128. while (p_ptr < str_start[ext+1]) do
  129.     begin
  130.     name_of_file[name_ptr] := xchr[str_pool[p_ptr]];
  131.     incr(name_ptr); incr(p_ptr);
  132. @z
  133.  
  134. @x
  135. p_ptr := str_start[area];
  136. while (p_ptr < str_start[area+1]) do
  137.     begin
  138.     name_of_file[name_ptr] := chr (str_pool[p_ptr]);
  139.     incr(name_ptr); incr(p_ptr);
  140. @y
  141. p_ptr := str_start[area];
  142. while (p_ptr < str_start[area+1]) do
  143.     begin
  144.     name_of_file[name_ptr] := xchr[str_pool[p_ptr]];
  145.     incr(name_ptr); incr(p_ptr);
  146. @z
  147.  
  148. @x
  149. @!s_bst_area : str_number;  {\.{texinputs:}}
  150. @y
  151. @!s_aux_area : str_number; {\.{.*}}
  152. @!s_bst_area : str_number; {\.{texinputs:}}
  153. @z
  154.  
  155. @x
  156. pre_define('.blg        ',4,file_ext_ilk);
  157. s_log_extension := hash_text[pre_def_loc];
  158. pre_define('.bst        ',4,file_ext_ilk);
  159. s_bst_extension := hash_text[pre_def_loc];
  160. pre_define('.bib        ',4,file_ext_ilk);
  161. s_bib_extension := hash_text[pre_def_loc];
  162. pre_define('texinputs:  ',10,file_area_ilk);
  163. s_bst_area := hash_text[pre_def_loc];
  164. pre_define('texbib:     ',7,file_area_ilk);
  165. s_bib_area := hash_text[pre_def_loc];
  166. @y
  167. pre_define('.biblog     ',7,file_ext_ilk);
  168. s_log_extension := hash_text[pre_def_loc];
  169. pre_define('.bst        ',4,file_ext_ilk);
  170. s_bst_extension := hash_text[pre_def_loc];
  171. pre_define('.bib        ',4,file_ext_ilk);
  172. s_bib_extension := hash_text[pre_def_loc];
  173. pre_define('.*          ',2,file_area_ilk);
  174. s_aux_area := hash_text[pre_def_loc];
  175. pre_define('.*          ',2,file_area_ilk);
  176. s_bst_area := hash_text[pre_def_loc];
  177. pre_define('.*          ',2,file_area_ilk);
  178. s_bib_area := hash_text[pre_def_loc];
  179. @z
  180.  
  181. @x
  182.   write (term_out,'Please type input file name (no extension)--');
  183.   if (eoln(term_in)) then      {so the first |read| works}
  184.       read_ln (term_in);
  185. @y
  186.     get (term_in) ; {so the first |get| works to clear EOL}
  187. @z
  188.  
  189.  
  190.  
  191. @x    At line 2563
  192. @<Add extensions and open files@>=
  193. begin
  194. name_length := aux_name_length;    {set to last used position}
  195. add_extension (s_aux_extension);   {this also sets |name_length|}
  196. @y
  197. @<Add extensions and open files@>=
  198. begin
  199. name_length := aux_name_length;  {set to last used position}
  200. add_extension (s_aux_extension);  {this also sets |name_length|}
  201. add_extension (s_aux_area);  {this also sets |name_length|}
  202. @z
  203.  
  204. @x
  205. add_extension (s_bib_extension);
  206. @y
  207. add_extension (s_bib_extension);
  208. add_extension (s_bib_area);
  209. @z
  210.  
  211. @x
  212. add_extension (s_bst_extension);
  213. @y
  214. add_extension (s_bst_extension);
  215. add_extension (s_bst_area);
  216. @z
  217.  
  218. @x
  219. This section should be replaced, if necessary, by changes to the program
  220. that are necessary to make \BibTeX\ work at a particular installation.
  221. It is usually best to design your change file so that all changes to
  222. previous sections preserve the section numbering; then everybody's version
  223. will be consistent with the printed program. More extensive changes,
  224. which introduce new sections, can be inserted here; then only the index
  225. itself will get a new section number.
  226.  
  227. @y
  228. This section contains procedures particular to VM/CMS.
  229.  
  230. @ Here are extra global variables for VM/CMS routines
  231. @<Glob...@>=
  232.  
  233. @!status: boolean; {did the last |reset| or |rewrite| succede?}
  234.  
  235. @!tty_in, tty_out: text;
  236. @ @<VM/CMS...@>=
  237. procedure okstatus; begin status:=true; end;
  238. procedure pack_file_name;
  239. var buff : packed array[1..file_name_size] of char;
  240.     i, j : 1..file_name_size;
  241. begin  j := 1;
  242.   for i := 1 to file_name_size do buff[i] := ' ';
  243.   for i := 1 to file_name_size do
  244.   begin
  245.     if name_of_file[i] <> ' ' then
  246.     begin
  247.       buff[j] := name_of_file[i];
  248.       incr(j);
  249.     end;
  250.   end;
  251.   for i := 1 to file_name_size do name_of_file[i] := buff[i];
  252. end;
  253. @z
  254.